System and method for special effects for text objects

ABSTRACT

A system and method for creating and displaying dynamic special effects on graphic text objects. Preferably, the special effects are displayed in stages or animation frames, such that the special effects appear to move. In addition, the special effects preferably are displayed for a predetermined period and then the original text objects are redisplayed without the special effects. The system and method include alternate embodiments for displaying at least three different dynamic special effects: fade-out, shimmer, and sparkle. The fade-out embodiment erases progressively larger portions of a selected text object with each animation frame. The shimmer embodiment shifts consecutive rows or column of pixels of the selected text object in opposite directions with each animation frame. The sparkle embodiment displays random pixel patterns, referred to as sparkle grids, over random locations of the selected text object.

TECHNICAL FIELD

The present invention relates generally to computer graphics and, morespecifically, to a system and method for creating and displaying dynamicspecial effects on graphic text objects.

BACKGROUND OF THE INVENTION

For many reasons, users of computer application programs, such as wordprocessing, database, and spreadsheet programs, have desired the abilityto highlight particular text displayed on a computer display screen.Many application programs include utilities, such as bolding anditalicizing utilities, that allow selected text of a document to behighlighted on a display screen and on a printed paper copy. While suchhighlighting utilities have proved useful, many users have foundexisting highlighting utilities to be inadequate for several reasons.

First, some users have desired more highlighting utilities, in additionto the conventional bolding and italicizing. For example, manyapplication programs are now directed primarily to children, who oftenenjoy many special effects and new features. It is unlikely that manychildren find the existing highlighting utilities to be new andexciting. In addition, it is likely that many adults would also findother highlighting utilities to be enjoyable and useful.

Second, some users would like to display highlighted text and print thetext without highlighting, but existing highlighting utilities, such asbolding and italicizing, alter the way that the text is both displayedand printed. In fact, one reason why more highlighting types have notbeen created might be because developers thought that users would wantto print any highlighting that was displayed, but printer technology didnot allow some other highlighting types to be printed. However, ascomputer networks have proliferated, many documents, such as electronicmail, are passed between users without being printed. As a result, usersmay wish to highlight certain portions of text with new highlightingtypes without concern about whether the highlighting type could beprinted. In addition, many users, particularly children, enjoydisplaying fancy text and graphics, without caring whether such text andgraphics can be printed.

Third, existing highlighting features are static in nature. That is,when a user alters a text portion with an existing highlighting feature,such as bolding, the highlighted text remains highlighted until the usermanually turns off the highlighting feature. It is well known that adynamic feature, such as a flashing traffic light, stands out more thana static feature like bolding.

SUMMARY OF THE INVENTION

The present invention is directed to a system and method for creatingand displaying dynamic special effects on graphic text objects.Preferably, the special effects are displayed in stages or animationframes, such that the special effects appear to move. In addition, thespecial effects are displayed for a predetermined period and then theoriginal text objects are redisplayed without the special effects.

The invention includes alternate embodiments for displaying at leastthree different dynamic special effects: fade-out, shimmer, and sparkle.the fade-out embodiment erases progressively larger portions of aselected text object with each animation frame. The shimmer embodimentshifts consecutive rows or column of pixels of the selected text objectin opposite directions with each animation frame. The sparkle embodimentdisplays random pixel patterns, referred to as sparkle grids, overrandom locations of the selected text object.

By providing dynamic special effects, the invention allows users tohighlight text objects in ways previously unavailable. The inventionenables children's application programs to be much more enjoyable andexciting to the children who use them. In addition, the inventionenables users of computer networks to more noticeably highlight passagesof text with dynamic special effects without concern for whether thespecial effects can be printed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a computer system according to the presentinvention.

FIG. 2A is a flow diagram of a method of inputting a special effectsselection according to the,present invention.

FIG. 2B is a flow diagram of a method of preparing a page for displayaccording to the present invention.

FIG. 3 is a flow diagram of a special effect controller according to thepresent invention.

FIG. 4 is a flow diagram of a fade-out special effect generator methodaccording to the present invention.

FIGS. 5A to 5K are examples of a text block being faded out according tothe method shown in FIG. 4.

FIG. 6 is a flow diagram of a shimmer special effect generator methodaccording to the present invention.

FIG. 7A to 7J are examples of a text block being shimmered according tothe method shown in FIG. 6.

FIG. 8 is a flow diagram of a sparkle special effect generator methodaccording to the present invention.

FIG. 9A to 9K are examples of a text block being sparkled according tothe method shown in FIG. 8.

DETAILED DESCRIPTION OF THE INVENTION

The present invention is directed to a system and method for creatingand displaying dynamic special effects on graphic text objects. Thespecial effects change the way in which the text objects are displayedon a computer display and include, for example, "fade out," "shimmer,"and "sparkle" special effects. Preferably, the special effects aredisplayed in stages or animation flames, such that the special effectsappear to move, that is, the special effects are "dynamic". In addition,the special effects preferably are displayed for a predetermined periodand then the original text objects are redisplayed without the specialeffects.

By providing dynamic special effects, the invention allows users tohighlight text objects in ways previously unavailable. The inventionenables children's application programs to be much more enjoyable andexciting to the children who use them. In addition, the inventionenables users of computer networks to more noticeably highlight passagesof text with dynamic special effects without concern for whether thespecial effects can be printed.

FIG. 1 shows a special effect system 10 used to create and displaydynamic special effects on graphic text objects. The system 10 includesa computer 12 connected to receive input from an input device 14 andsend display output to a display 16. The computer 12 can be implementedas any conventional computer, such as a conventional desktop computer.The input device 14 also is conventional and can include such devices asa keyboard, a mouse, and an electronic pen with a digitizing tablet. Thedisplay 16 is also conventional and preferably is a high-resolution,color display, such as a cathode ray tube (CRT) monitor.

As is conventional, the computer 12 includes a central processing unit18 and a working memory 20. Stored in the working memory 20 is anoperating system 22, an application program 24, an effect controller 26,and one or more effect generators 28. In a preferred embodiment, theeffect generators 28 include a fade-out effect generator 28A, a shimmereffect generator 28B, and a sparkle effect generator 28C. The operatingsystem 22 can be any conventional operating system such as MicrosoftWindows™. The operating system 22 interfaces the application 24 with theinput device 14 and a display 16 such that the application program 24can receive user input from the input device and can display data on thedisplay 16. In some embodiments, the effect controller 26 and the effectgenerators 28 are a part of the operating system 22 or the applicationprogram 24. However, preferably the effect controller and the effectgenerators are independent utility programs so that many applicationprograms can use their special effects abilities without copying theminto each application program. In a preferred embodiment, theapplication program is generally a conventional text processor that hasbeen modified slightly to interface with the effect controller 26 andthe effect generators 28.

FIG. 2A shows a flow diagram of a method used by the application program24 to obtain user input for the effect controller 26 and the effectgenerators 28. In step 30, the application program receives a textobject selection from the user via the input device 14. The selectedtext object includes a string of one or more characters, and a portionof the background surrounding the characters, such that the charactersand the background portion form a rectangular text object. Such a textobject selection step typically is accomplished by dragging a cursoracross the selected text using a mouse as the input device 14. In step32, the application program receives from the user a special effectsselection that indicates which special effect the user desires to bedisplayed. Such a special effect selection is similar to the wayconventional word processors select bolding or italicizing of selectedtext.

In step 34, the application program 24 updates a text object tablestored in the working memory, such that the text object table indicatesthat the text object selected in step 30 is associated with the specialeffect selected in step 32. The text object table is a device typicallyused in application programs to indicate the font, bolding, italicizing,and similar features, and associated with each string of text. The textobject table stores the location of each text object and codes thatindicate the features associated with the text object. By storing in thetext object table a code associating the special effect with theselected text object, the text object can be edited and the specialeffect is automatically associated with the edited text object. Thefollowing Table A shows an example of a preferred text object table.

                                      TABLE A                                     __________________________________________________________________________    File Name   File Pos.                                                                          Char. Pos.                                                                          Feature 1                                                                          Feature 2                                                                          Feature N                                    __________________________________________________________________________    Object 1                                                                            File 1.txt                                                                          80    0    Bold                                                   Object 2                                                                            File 2.txt                                                                          10   40    Fade-Out                                               Object 3                                                                            File 1.txt                                                                          130  60    Italics                                                                            Shimmer                                           Object N                                                                      __________________________________________________________________________

In the example shown in Table A, only the text objects for a singledisplay line of text are shown for simplicity, but the same tablepreferably would store feature information for all of the text objectsof the document. Text objects 1 and 3 are stored in a first file, File1.txt, at positions 80 and 130. Text object 2 is stored in a secondfile, File 2.txt, at position 10. The character position field storesthe position of the first character of each text object. The length ofeach text object can be computed for each text object by subtracting thecharacter position for that text object from the character position forthe next text object, so the first text object has a length of 40(40-0). Preferably, each text object can have a variable number offeatures specified, ranging from 0 features, which displays the textobject with a default character format, to a number of features Nlimited only by the amount of memory available.

In order to display the text objects with special effects, the page onwhich the text objects are located must be formatted. As shown in step35 of FIG. 2B, one method of triggering the application program toformat the page is by receiving from the operating system 22 a formatrequest, such as a Microsoft Windows™ WM₁₃ Paint message. In step 36,the application program sets a page special effect (SFX) flag whichindicates that the page on which the selected text object is locatedincludes such a text object that has been selected to receive a specialeffect. The page SFX flag preferably is a part of a stored pagedescriptor table that describes characteristics of each page such as theprint and display margins of the page. Such a page descriptor table is awell known device for storing page formatting information. Of course,the application program may perform other formatting in addition tosetting the page SFX flag, such as adjusting margins or conventionalformatting.

Shown in FIG. 3 is a flow diagram of a method employed by the effectcontroller 26 to cause the selected special effects to be displayed. Instep 38, the effect controller receives an idle message from theoperating system 22, indicating that the effect controller can spendprocessor time to display the selected special effects. When theapplication program is not processing data, it sends such an idlemessage via the operating system 22. Of course, one skilled in the artcould easily employ the invention in non-message-based systems.

In step 40, the effect controller 26 determines whether the page SFXflag has been set for the current page displayed by the applicationprogram. Although the invention is easily applicable to applicationprograms that can display multiple pages at one time, the discussionherein is limited to a single current page for simplicity. If the pageSFX flag is not set, then the effect controller returns processing tothe operating system 22.

If the page SFX flag is set, then in step 42, the effect controller getsthe first text object selected to receive a special effect (SFX textobject). The effect controller locates the first SFX text object bysearching through the text object table until it finds a text objectwith a special effect indicator associated with it. In step 44, theeffect controller calls the effect generator 28 for the special effectassociated with the text object. The effect generator generates a firstanimation frame of the special effect on the text object, examples ofwhich are discussed below with respect to FIGS. 4-9. Preferably, thespecial effects are displayed in the order in which the SFX text objectsappear in the text object table. However, any order could be employed,such as displaying the special effects on all SFX text objects having afirst special effect selection before displaying any other specialeffects.

When the effect generator 28 is done generating the special effect onthe selected text object, the effect controller 26 determines whetherthere are more SFX text objects in step 46. The effect controllerdetermines whether there are more SFX text objects by searching throughthe text object table beginning with the text object immediatelyfollowing the previous SFX text object. If there are more SFX textobjects, then in step 48, the effect controller gets the next SFX textobject. Steps 44-48 are then repeated until no more SFX text objects arefound for the current page in step 46.

If there are no more SFX text objects for the current page, then theeffect controller 26 determines whether a frame counter equals a maximumcounter value (MAX) in step 50. The frame counter counts the number ofanimation frames of the special effect to be displayed and isinitialized by the operating system when the effect controller isloaded. In a preferred embodiment, there are 8 animation frames for eachspecial effect, so the frame counter is incremented from 1 to 8 for allof the text objects. Preferably, one animation frame for each textobject is displayed before displaying the next animation frame for anyof the text objects. Alternatively, all animation frames of the specialeffect for one text object could be displayed before displaying anyanimation frames for the next text object.

If the frame counter is not equal to MAX, then in step 52, the effectcontroller increments the frame counter and returns control to theoperating system. Upon each subsequent idle message sent from theoperating system 22, the effect controller repeats steps 38-52 until theframe counter equals MAX as determined in step 50. As will beappreciated, steps 38-52 enable a special effect to be displayed foreach text object one animation frame at a time with each animation framebeing counted by the frame counter. When the frame counter equals MAX,then in step 54 the effect controller resets the frame counter to zerofor the next set of animation frames. In step 56, the effect controllercalls the application program 24 and requests the application program toredraw each text object without the selected special effects. Theapplication program redraws the text object without the selected specialeffects. When the application program 24 is finished processing, theoperating system 22 sends another idle message to the effect controller26 to start the process of displaying the special effects again.Preferably, each selected text block is displayed without a specialeffect for an amount of time at least as long as one animation frame.

Shown in FIG. 4 is a method employed by the fade-out effect generator28A to progressively fade out or erase the text block. In step 58, thefade-out effect generator 28A receives the frame counter and thecoordinates of the selected text block. Typically, the upper-left andlower-right coordinates are the only coordinates used to describe eachtext block. In step 60, the width or height of the text block iscomputed. The width is computed if the fade out is performed in aleft-to-right or a right-to-left direction. Likewise, the height iscomputed if the fade out will proceed from top to bottom or bottom totop. For simplicity, the remainder of the discussion will assume thatthe fade out occurs from left to right, although the fade-out method inthe other directions will be completely understood from that discussion.

In step 62, the fade-out effect generator 28A computes X-Y coordinatesof an erase block that is displayed instead of increasing portions ofthe text block to thereby erase the text block. The erase block is thesame color and pattern, if any, of the background of the text block, sodisplaying the erase block instead of the text block erases the textpiece of the text block. Given that the fade out begins from the leftside in this example, the X-Y coordinates of the upper left corner ofthe erase block are the same as the coordinates of the upper left cornerof the text block. In a preferred embodiment, the fade out occurs overthe entire height of the text block so that the Y coordinate of thelower right corner of the erase block is the same as the Y coordinate ofthe lower right corner of the text block. The X coordinate of the lowerright corner of the erase block is equal to the width of the text blockmultiplied by the frame counter and divided by the maximum frame countervalue (MAX). For example, assuming that MAX equals 8 and the first framecounter value is 1, then the width of the erase block is 1/8th of thewidth of the text block. Upon each increment of the frame counter, theerase block increases by 1/8th of the text block until the erase blockequals the size of the text block when the frame counter equals 8 . Atthat time, the erase block completely replaces the text block which, ineffect, erases the text block. Upon completion of the last animationframe, the effect controller sends a message to the application program24 to re-draw the text block in place of the erase block.

In step 64, the fade-out effect generator 28A determines whether thetext block is displayed over a pattern background or a plain whitebackground. For example, in a preferred embodiment, the applicationprogram allows the text to be displayed over any of numerous patternbackgrounds, such as a background picture of a teddy bear. If there is apattern background, then in step 66, the portion of the patternbackground corresponding to the coordinates of the erase block isretrieved. In step 68, the fade-out effect generator creates the eraseblock from either the pattern background retrieved in step 66 or a plainwhite background if there is no pattern background. In step 70, thefade-out effect generator displays the erase block over the text block,which in effect erases the left-most 1/8th of the text block accordingto the example above. Each time that the fade-out effect generator iscalled, steps 58-70 are repeated to erase an additional 1/8th of thetext block as described above. In a preferred embodiment, steps 66-70are actually one combined step in which the effect generator simplydisplays whatever background corresponds to the coordinates computed instep 62.

Shown in FIG. 5 is an example of a text block being faded out by thefade-out effect generator 28A as described in FIG. 4. Frame (a) showsthe text block in its original form without any special effect. Frames(b)-(j) show the text block being faded out and frame (k) shows the textblock as re-drawn by the application program.

Referring again to the method shown in FIG. 4, the fade-out effectgenerator 28A receives a frame counter of 1 and text block coordinatesof (0,0) and (9,12) in step 58. In step 60, the X value (9) of thelower-right corner minus the X value (0) of the upper-left corner equalsthe width (9) of the text block. In step 62, the X value of thelower-right corner of the first erase block is computed to be 1, whichequals the text block width (9) multiplied by the frame counter (1)divided by the maximum frame counter (MAX), which is 9 in this example.As discussed above, the upper-left coordinates and the lower-right Ycoordinates remain the same, resulting in erase block coordinates of(0,0) and (1,12). In this example, there is no background pattern, sothe fade-out effect generate creates and displays a white erase block insteps 68 and 70 as shown in frame (b). Frames (c) through 0) aregenerated in a similar manner.

Shown in FIG. 6 is a method employed by the shimmer effect generator 28Bthat causes a selected text block to "shimmer." The shimmer effect isimplemented by shifting odd pixel rows of the text block in onedirection while shifting even pixel rows in the opposite direction. Eachtime the frame counter is incremented, each pixel row shifts in adirection opposite to the direction that the row shifted on the previousframe counter.

In step 72, the shimmer effect generator 28B receives the frame counterand the coordinates of the selected text block. In step 74, the shimmereffect generator determines whether the frame counter is an odd number.In the preferred embodiment, the frame counter starts at 1, which isodd, so execution proceeds to step 76 where the shimmer effect generatordetermines whether the current pixel row is odd. Since the first row isodd, the shimmer effect generator shifts the pixel row to the right Xnumber of pixels in step 78. In step 80, the shimmer effect generatordetermines whether there are more rows to be shifted. If so, thenexecution returns to perform steps 74 and 76 again. In step 76, theshimmer effect generator determines that the second row is not odd so itshifts the second pixel row left X pixels in step 82. Steps 74-82 arerepeated until all the rows have been shifted as determined by step 80.

When there are no more rows, then in step 82, the shimmer effectgenerator determines whether the frame counter equals 1. If so, then instep 84, the X value, which equals the number of pixels each row isshifted, is multiplied by 2. That multiplication by 2 enables eachsubsequent animation frame of the shimmer effect to be shifted twice asfar when the frame counter equals 2-8 as when the frame counterequals 1. Otherwise, when each pixel row is shifted in the oppositedirection when the frame counter is incremented, the rows would simplybe returned by their initial state.

After the frame counter is incremented to 2 by the effect controller instep 54 (FIG. 3), then in step 74 (FIG. 6) the frame counter isdetermined to be not odd. As a result, in step 86 the shimmer effectgenerator 28B determines whether the current row is odd. Because thefirst row is odd, the first row is shifted left X pixels in step 82.Steps 78, 80, 82, and 86 are repeated until all rows are shifted asdetermined in step 80.

Shown in FIG. 7 is an example of a text block being shimmered by theshimmer effect generator 28B as described in FIG. 6. In this example,like the example shown in FIG. 5, the frame counter is incremented from1 to 8, thereby producing animation frames (b) to (i). For the firstanimation frame (b) each pixel row is shifted 1 pixel (x=1), while foreach subsequent animation frame each pixel row is shifted 2 pixels(x=2). Like the example shown in FIG. 5, frames (a) and (j) show thetext block before and after being shimmered, respectively.

Shown in FIG. 8 is a method employed by the sparkle effect generator 28Cthat causes a selected text block to "sparkle." The sparkle effect isimplemented by displaying random patterns or sparkle grids in randomlocations over the text object. The sparkle grids are randomly selectedfrom a predetermined set of sparkle grids. The sparkle grids and colorsare changed upon each increment of the frame counter.

In step 88 the sparkle effect generator 28C receives the frame counterand the coordinates of the selected text block. In step 90 the sparkleeffect generator computes the maximum number (MaxGrid) of sparkle gridsthat can fit into the text block which equals the area of the text blockdivided by the area of each sparkle grid. In the preferred embodimenteach sparkle grid is three pixels by three pixels so the sparkle gridarea equals nine pixels. In step 92 the sparkle effect generatorcomputes the number of sparkle grids to be displayed on the text block(Grid#) which equals MaxGrid multiplied by a predetermined grid density.The grid density corresponds to the fraction of the text block that isdesired to be covered by sparkle grids simultaneously, so is a numberbetween zero and one. Preferably that grid density is selectable by theuser.

In step 94 in index counter I is initialized by setting it to equal one.The index counter I counts the number of sparkle grids displayed overthe text block. In step 96, the sparkle effect generator 28C obtains arandom sparkle grid as the first sparkle grid to be displayed. Thesparkle grid is selected from a predetermined set of sparkle grids usinga random number generator to generate an index into the set of sparklegrids. The random number generator can use any well-known function forgenerating a random number. In a preferred embodiment the set of sparklegrids includes various pixel patterns and colors such that each sparklegrid differs from every other sparkle grid by the color of each pixel orthe patterns caused by different luminance values for each pixel of thesparkle grid.

In a preferred embodiment, the location of each sparkle grid remainsconstant for eight animation frames and then is changed for the nexteight animation frames. As such, in step 97 the sparkle effect generator28C determines whether the frame counter equals its initial value of 1.If so, then in step 98 the sparkle effect generator obtains a randomsparkle grid location for the current sparkle grid obtained in step 96.Like step 96, step 98 uses a random number generated to generate anindex, which in step 98 indexes a location on the text block rather thana sparkle grid. If not, then execution proceeds directly to step 100 inwhich the sparkle effect generator draws the current sparkle grid at thelocation previously obtained in step 98. The sparkle effect generatordraws the sparkle grid by using a drawing function of the operatingsystem 22. Such drawing functions are well known in the art and arediscussed in detail with respect to the Windows graphic user interfaceon pages 605-658 of Petzold, Programming Windows 3.1, published in 1992,which is incorporated by reference herein in its entirety.

In step 102 the index counter I is incremented to get the next sparklegrid to be displayed. In step 104 the sparkle effect generatordetermines whether the index counter I is greater than Grid#, which isthe number of sparkle grids to be displayed. If the index counter I isgreater than Grid#, then the sparkle effect generator returns control tothe operating system until it is called again. If not, then the sparkleeffect generator repeats steps 96 through 104 until Grid# sparkle gridshave been displayed.

Shown in FIG. 9 is an example of a text block being sparkled asdescribed in FIG. 8. In this example, frames (b)-(j) are animationframes produced as the frame counter is incremented from 1 to 9. FIG. 9shows several different sparkle grids having binary pixels, that is,pixels with only 2 different luminance values corresponding to black andwhite. In a preferred embodiment, the pixels are also colored and havemore than two different luminance values.

As described above, the invention provides a system and method forcreating and displaying dynamic special effects on graphic text objects.The preferred embodiment employs a frame counter to count animationframes for each special effect. After a predetermined number ofanimation frames, the text objects are redisplayed without specialeffects. Discussed above are three examples of dynamic special effectsproduced according to the invention, with numerous other special effectsbeing apparent from that discussion.

It is to be understood that even though various embodiments andadvantages of the present invention have been set forth in the foregoingdescription, the above disclosure is illustrative only, and changes maybe made in detail, yet remain within the broad principles of theinvention. Therefore, the present invention is to be limited only by theappended claims.

What is claimed is:
 1. A computer-implemented method of displaying atext object with a special effect that changes how the text objectappears, the text object including a sequence of one or more characters,the method comprising:displaying the text object in a first displayformat of display pixels forming the character or characters of the textobject, wherein the display pixels of the text object are arranged inrows in which a first plurality of rows is consecutively interspersedwith a second plurality of rows: receiving an indication from a user ofthe special effect desired; implementing the indicated special effect byadjusting at least some of the display pixels during a firstpredetermined period, wherein the special effect is a shimmer effect,and the implementing step includes shifting the first plurality of rowsof the display pixels in a first direction and shifting the secondplurality of rows of the display pixels in a second direction oppositeto the first direction; and automatically re-displaying the text objectin the first display format upon completion of the first predeterminedperiod.
 2. The method according to claim 1 wherein the implementing stepincludes displaying a predetermined number of special effect animationframes during the first predetermined period, each animation frameresulting from the display pixels of the text object being adjusted. 3.The method according to claim 1 wherein the re-displaying step includesautomatically re-displaying the text object in the first display formatfor a second predetermined period and the method further includesautomatically repeating the implementing and re-displaying steps afterthe second predetermined period.
 4. The method according to claim 1,further including:associating the indicated special effect with the textobject in response to receiving the indication from the user; editingthe text object, thereby changing the sequence of characters of the textobject; and automatically implementing the special effect on the editedtext object.
 5. A computer-implemented method of displaying a textobject with a special effect that changes how the text object appears,the text object including a sequence of one or more characters, themethod comprising:displaying the text object in a first display formatof display pixels forming the sequence of characters of the text object,wherein the display pixels of the text object are arranged in rows inwhich a first plurality of rows is consecutively interspersed with asecond plurality of rows; implementing the special effect by displayinga sequence of a predetermined plural number of animation frames, eachanimation frame being created by adjusting automatically one or more ofthe display pixels of the text object, wherein the special effect is ashimmer effect, and the implementing step includes shifting the firstplurality of rows of the display pixels in a first direction andshifting the second plurality of rows of the display pixels in a seconddirection opposite to the first direction; and automaticallyre-displaying the text object in the first display format uponcompletion of the predetermined plural number of animation flames. 6.The method according to claim 5 wherein the sequence of animation framesextend for a first predetermined period and the re-displaying stepincludes re-displaying the text object in the first display format for asecond predetermined period and the method further includesautomatically repeating the implementing and re-displaying steps afterthe second predetermined period.
 7. The method according to claim 6wherein the second predetermined period is at least as long as a timeperiod used to display one animation frame.
 8. A computer system fordisplaying a text object with a special effect on a computer display,the text object including a sequence of one or more characters, thesystem comprising:means for displaying the text object on the computerdisplay in a first display format of display pixels forming the sequenceof characters of the text object, wherein the display pixels of the textobject are arranged in rows in which a first plurality of rows isconsecutively interspersed with a second plurality of rows; means forimplementing the special effect by displaying a sequence of apredetermined plural number of animation frames, each animation framebeing created by adjusting automatically one or more of the displaypixels of the text object, wherein the special effect is a shimmereffect, and the implementing means includes means for shifting the firstplurality of rows of the display pixels in a first direction andshifting the second plurality of rows of the display pixels in a seconddirection opposite to the first direction; and means for automaticallyre-displaying the text object on the computer display in the firstdisplay format upon completion of the predetermined plural number ofanimation frames.
 9. The system according to claim 8 wherein thesequence of animation frames extend for a first predetermined period andthe means for re-displaying includes means for re-displaying the textobject in the first display format for a second predetermined period andthe system further includes means for automatically re-implementing thespecial effect after the second predetermined period.
 10. The systemaccording to claim 9 wherein the second predetermined period is at leastas long as a time period used to display one animation frame.
 11. Acomputer-readable memory device for displaying a text object with aspecial effect that changes how the text object appears, the text objectincluding a sequence of one or more characters, the memory deviceincluding computer instructions controlling a computer to perform thefollowing steps:displaying the text object in a first display format ofdisplay pixels forming the sequence of characters of the text object,wherein the display pixels of the text object are arranged in rows inwhich a first plurality of rows is consecutively interspersed with asecond plurality of rows; implementing the special effect by displayinga sequence of a predetermined plural number of animation frames, eachanimation frame being created by adjusting automatically one or more ofthe display pixels of the text object, wherein the special effect is ashimmer effect, and the implementing step includes shifting the firstplurality of rows of the display pixels in a first direction andshifting the second plurality of rows of the display pixels in a seconddirection opposite to the first direction; and automaticallyre-displaying the text object in the first display format uponcompletion of the predetermined plural number of animation frames. 12.The memory device of claim 11 further including computer instructionsfor:editing the text object in response to editing instructions from auser; and automatically implementing on the edited text object the samespecial effect implemented on the text object before being edited.